home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Amiga Amateur Radio User Group / AARUG UK #29 (199x)(Amiga Amateur Radio User Group UK)(PD)[G4DCV].zip / AARUG UK #29 (199x)(Amiga Amateur Radio User Group UK)(PD)[G4DCV].adf / Updater (.txt) < prev    next >
AmigaBASIC Source Code  |  1978-01-09  |  5KB  |  160 lines

  1. REM          Satellite Data File  Editor
  2. REM          Created by Nigel Dudley VK6KHD
  3. REM          25/8/89          V1.0
  4. REM
  5. WINDOW 3,"update",,15
  6. start:
  7. OPEN "I",#2,"DF0:satellites/satdata/menudata"
  8. INPUT#2,m1$,m2$,m3$,m4$,m5$,m6$,m7$,m8$
  9. CLOSE#2
  10. loop:
  11.  CLS:PRINT :PRINT :PRINT :PRINT 
  12.  PRINT"           Satellites on file"
  13.  PRINT
  14.  PRINT"  1. ";m1$;:y=CSRLIN:LOCATE y,30:PRINT"5. ";m5$
  15.  PRINT  
  16.  PRINT"  2. ";m2$;:y=CSRLIN:LOCATE y,30:PRINT"6. ";m6$
  17.  PRINT 
  18.  PRINT"  3. ";m3$;:y=CSRLIN:LOCATE y,30:PRINT"7. ";m7$
  19.  PRINT
  20.  PRINT"  4. ";m4$;:y=CSRLIN:LOCATE y,30:PRINT"8. ";m8$
  21.  PRINT
  22.  PRINT"        Enter your Choice to update <1-8, 9 to exit> "
  23. loop6:
  24.    ch$=INKEY$
  25.    IF ch$="" THEN GOTO loop6
  26.    ch=VAL(ch$)
  27.    IF ch <1 OR ch>9 GOTO loop6
  28.    IF ch=9 THEN
  29.     CLS:WINDOW CLOSE 3:CHAIN "df0:satellites/plan10-13"
  30.    END IF
  31. CLS:PRINT :PRINT :PRINT 
  32. satno$="df0:satellites/satdata/sat"+STR$(ch)
  33. OPEN "I",#2,satno$
  34. INPUT#2,sat$,ye,te,in,ra,ec,wp,ma,mm,m2,rv,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,LT,LN
  35. CLOSE#2
  36. PRINT"  Data on record for satellite ";sat$
  37. PRINT 
  38. PRINT"Epoch year        : ";ye;TAB(35);"Epoch time    : ";te
  39. PRINT"Inclination       : ";in;TAB(35);"RAAN          : ";ra
  40. PRINT"Eccentricity      : ";ec;TAB(35);"Arg of Perigee: ";wp
  41. PRINT"Mean Anomaly      : ";ma;TAB(35);"Mean Motion   : ";mm
  42. PRINT"Semi Major Axis   : ";a ;TAB(35);"Orbit No      : ";rv
  43. PRINT"Decay Rate        : ";m2 :PRINT
  44. PRINT"1st Mode B Start  : ";a0;TAB(35);"      Finish  : ";a1
  45. PRINT"2nd Mode B Start  : ";a2;TAB(35);"      Finish  : ";a3
  46. PRINT"Mode J-L Start    : ";a4;TAB(35);"      Finish  : ";a5
  47. PRINT"Spare Mode * Start: ";a6;TAB(35);"      Finish  : ";a7
  48. PRINT"Spare Mode - Start: ";a8;TAB(35);"      Finish  : ";a9
  49. PRINT"Sat Latitude      : ";LT;TAB(35);"Sat Longitude : ";LN  
  50. PRINT
  51. PRINT"Change Data, 1. All Data  2. Sat lat/lon Only  3. No change"
  52. loop5:
  53.  ch$=INKEY$
  54.  
  55.  IF ch$= "" THEN GOTO loop5
  56.  IF ch$= "2" THEN GOSUB latlon : GOTO datasave
  57.  IF ch$= "3" THEN GOTO loop
  58.  
  59. CLS:PRINT :PRINT :PRINT 
  60. PRINT"         Enter data for file: ";INT(ch)
  61. INPUT"Satellite Name: ";sat$
  62. INPUT"Year, Epoch Time            : ";ye,te
  63. INPUT"Inclination, RAAN           : ";in,ra
  64. INPUT"Eccentricity, Arg of Perigee: ";ec,wp
  65. INPUT"Mean anomoly, Mean motion   : ";ma,mm
  66. INPUT"Decay Rate, Orbit number    : ";m2,rv
  67. INPUT"Satellite Latitude,longitude: ";LT,LN
  68. a=((5.53849e-315/(mm*mm))^(1/3)):REM calc SMA
  69.  
  70. PRINT
  71.  
  72.  PRINT "Do you wish to enter a transponder schedule"
  73.  PRINT "                                  Enter Y/N"
  74. loop2:
  75.  ch$=INKEY$
  76.  
  77.  
  78.  IF ch$=""  THEN GOTO loop2
  79.  ch$=UCASE$(ch$)
  80.  
  81. IF ch$="N" THEN GOTO datasave
  82. IF ch$<>"Y" THEN GOTO loop 2
  83.  
  84. CLS:PRINT :PRINT :PRINT 
  85. PRINT"            Transponder Schedule Data"
  86. PRINT 
  87. PRINT"Note: The program shows two mode 'B' periods and one"
  88. PRINT"      mode 'J-L' period, plus two other extra ones"
  89. PRINT"      designated '*' and '-' for use as needed. Answer"
  90. PRINT"      all prompts, answer unsed modes with 0. If actual"
  91. PRINT"      MA is zero then program will respond with 'PER' for"
  92. PRINT"      perigee. The program will deduce when to print 'off'"
  93. PRINT"      from your actual entries. "
  94. PRINT
  95. PRINT"      Keep modes discrete, if you must have 'S' mode then"
  96. PRINT"      suggest you divide the relevant mode 'B' into two,"
  97. PRINT"      one each side of the 'S' mode time, using the spare"
  98. PRINT"      mode slots."
  99. PRINT
  100. PRINT"                 Press any key to continue"
  101. loop7:
  102.  
  103. ch$=INKEY$
  104. IF ch$="" THEN GOTO loop7
  105.  
  106. loop4:
  107.  CLS:PRINT :PRINT :PRINT 
  108.  PRINT"                 Enter the following data"
  109.  PRINT
  110.  INPUT"      First mode B, start,finish MA :";a0,a1
  111.  INPUT"      Second mode B,start,finish MA :";a2,a3
  112.  INPUT"      Mode J-L      start,finish MA :";a4,a5
  113.  INPUT"      Spare * mode  start,finish MA :";a6,a7 
  114.  INPUT"      Spare - mode  start,finish MA :";a8,a9       
  115.  INPUT"      Figures OK, Y/N: ";a$:a$=UCASE$(a$)
  116.  IF a$<>"Y" THEN:CLS: GOTO loop4 
  117. datasave:
  118. OPEN "O",#2,satno$
  119. WRITE #2,sat$,ye,te,in,ra,ec,wp,ma,mm,m2,rv,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,LT,LN
  120. CLOSE #2 
  121. ON ch GOTO name1,name2,name3,name4,name5,name6,name7,name8
  122. name1:
  123.  m1$=sat$
  124.  GOTO namend
  125. name2:
  126.  m2$=sat$
  127.  GOTO namend
  128. name3:
  129.  m3$=sat$
  130.  GOTO namend
  131. name4:
  132.  m4$=sat$
  133.  GOTO namend
  134. name5:
  135.  m5$=sat$
  136.  GOTO namend
  137. name6:
  138.  m6$=sat$
  139. name7:
  140.  m7$=sat$
  141.  GOTO namend
  142. name8:
  143.  m8$=sat$
  144. namend:
  145. OPEN "O",#2,"df0:satellites/satdata/menudata"
  146. WRITE #2,m1$,m2$,m3$,m4$,m5$,m6$,m7$,m8$
  147. CLOSE #2
  148.          
  149. CLS:WINDOW CLOSE 3:GOTO start
  150.  
  151. latlon:
  152.  
  153.   CLS:PRINT :PRINT :PRINT :PRINT :PRINT 
  154.   PRINT "          Satellite latitude and longitude update"
  155.   PRINT
  156.   INPUT "                Latitude : ";LT
  157.   INPUT "                Longitude: ";LN
  158.   CLS:RETURN
  159.  
  160.